package cn.tang.tframe.sdm.web.taglib;

import java.util.Collection;

import org.apache.commons.codec.binary.Base64;
import org.springframework.util.ClassUtils;
import org.springframework.util.ReflectionUtils;

/**
 * User: joeytang
 * el表达式
 */
public class CustomFunctions {

	public static String base64(String value) {
		return Base64.encodeBase64URLSafeString(value.getBytes());
	}

	/**
	 * 判断一个集合中是否包含某元素
	 *
	 * @param all
	 * @param item
	 * @return
	 */
	public static boolean contains(Collection all, Object item) {
		return all.contains(item);
	}

	/**
	 * 判断一个集合中是否包含另一个集合中的任意一个元素.
	 *
	 * 主要用在权限判断方面
	 *
	 * @param all
	 * @param items
	 * @return
	 */
	public static boolean containsAny(Collection all, Collection items) {
		for (Object item : items) {
			if (all.contains(item)) {
				return true;
			}
		}
		return false;
	}
	public static  Object getVar(String clazz,String var){
		try {
			Class<?> cls = ClassUtils.resolveClassName(clazz, ClassUtils.getDefaultClassLoader());
			return ReflectionUtils.findField(cls, var).get(clazz);
		} catch (IllegalArgumentException e) {
		} catch (IllegalAccessException e) {
		}
		return null;
	}
	public static  String enumVal(Enum e){
		if(null != e){
			return e.name();
		}
		return null;
	}
}
